/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

商业平台
续费相关接口

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#ifndef NativecontainerApiModel_h
#define NativecontainerApiModel_h
#import <JDCloudOCSDKCore/JDCloudOCSDKCore.h>
#import <JDCloudOCSDKCommon/JDCloudOCSDKCommon.h>
#import <JDCloudOCSDKNativecontainer/NativecontainerModel.h>


@interface NativecontainerDescribeQuotaRequest:JDCloudRequest

/// resourceType - 资源类型，支持 [container, pod, secret]
   /// 
@property (strong,nonatomic,nonnull)  NSString*  resourceType;
-(id) initWithRegion:(NSString *)regionId
resourceType:(NSString*)resourceType;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
resourceType:(NSString*)resourceType;

@end

@interface NativecontainerStopContainerRequest:JDCloudRequest

/// Container ID
@property (strong,nonatomic,nonnull)  NSString*  containerId;
-(id) initWithRegion:(NSString *)regionId
containerId:(NSString*)containerId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
containerId:(NSString*)containerId;

@end

@interface NativecontainerExecGetExitCodeRequest:JDCloudRequest

/// exec ID
@property (strong,nonatomic,nonnull)  NSString*  execId;
/// Container ID
@property (strong,nonatomic,nonnull)  NSString*  containerId;
-(id) initWithRegion:(NSString *)regionId
execId:(NSString*)execId
containerId:(NSString*)containerId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
execId:(NSString*)execId
containerId:(NSString*)containerId;

@end

@interface NativecontainerDescribeContainerRequest:JDCloudRequest

/// Container ID
@property (strong,nonatomic,nonnull)  NSString*  containerId;
-(id) initWithRegion:(NSString *)regionId
containerId:(NSString*)containerId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
containerId:(NSString*)containerId;

@end

@interface NativecontainerResizeContainerRequest:JDCloudRequest

/// 新实例类型，不可与原实例类型相同
@property (strong,nonatomic,nonnull)  NSString*  instanceType;
/// Container ID
@property (strong,nonatomic,nonnull)  NSString*  containerId;
-(id) initWithRegion:(NSString *)regionId
instanceType:(NSString*)instanceType
containerId:(NSString*)containerId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceType:(NSString*)instanceType
containerId:(NSString*)containerId;

@end

@interface NativecontainerStartContainerRequest:JDCloudRequest

/// Container ID
@property (strong,nonatomic,nonnull)  NSString*  containerId;
-(id) initWithRegion:(NSString *)regionId
containerId:(NSString*)containerId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
containerId:(NSString*)containerId;

@end

@interface NativecontainerDisassociateElasticIpRequest:JDCloudRequest

/// 弹性IP ID
@property (strong,nonatomic,nonnull)  NSString*  elasticIpId;
/// Container ID
@property (strong,nonatomic,nonnull)  NSString*  containerId;
-(id) initWithRegion:(NSString *)regionId
elasticIpId:(NSString*)elasticIpId
containerId:(NSString*)containerId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
elasticIpId:(NSString*)elasticIpId
containerId:(NSString*)containerId;

@end

@interface NativecontainerDeleteContainerRequest:JDCloudRequest

/// Container ID
@property (strong,nonatomic,nonnull)  NSString*  containerId;
-(id) initWithRegion:(NSString *)regionId
containerId:(NSString*)containerId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
containerId:(NSString*)containerId;

@end

@interface NativecontainerAssociateElasticIpRequest:JDCloudRequest

/// 弹性IP ID
@property (strong,nonatomic,nonnull)  NSString*  elasticIpId;
/// Container ID
@property (strong,nonatomic,nonnull)  NSString*  containerId;
-(id) initWithRegion:(NSString *)regionId
elasticIpId:(NSString*)elasticIpId
containerId:(NSString*)containerId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
elasticIpId:(NSString*)elasticIpId
containerId:(NSString*)containerId;

@end

@interface NativecontainerModifyContainerAttributeRequest:JDCloudRequest

/// 容器名称
@property (strong,nonatomic,nonnull)  NSString*  name;
/// 容器描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
/// Container ID
@property (strong,nonatomic,nonnull)  NSString*  containerId;
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
containerId:(NSString*)containerId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
containerId:(NSString*)containerId;

@end

@interface NativecontainerExecCreateRequest:JDCloudRequest

/// 执行命令
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  command;
/// 执行命令是否添加tty
@property (strong,nonatomic,nonnull)  NSNumber*  tty;
/// Container ID
@property (strong,nonatomic,nonnull)  NSString*  containerId;
-(id) initWithRegion:(NSString *)regionId
command:(NSArray<NSString*>*)command
tty:(NSNumber*)tty
containerId:(NSString*)containerId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
command:(NSArray<NSString*>*)command
tty:(NSNumber*)tty
containerId:(NSString*)containerId;

@end

@interface NativecontainerCreateContainersResult : NSObject
/// ContainerIds
 @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  containerIds;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithContainerIds:(NSArray<NSString*>*) containerIds;
@end

@interface NativecontainerExecGetExitCodeResult : NSObject
/// ExitCode
 @property (strong,nonatomic,nonnull)  NSNumber*  exitCode;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithExitCode:(NSNumber*) exitCode;
@end

@interface NativecontainerGetLogsRequest:JDCloudRequest

/// 返回日志文件中倒数 tailLines 行，如不指定，默认从容器启动时或 sinceSeconds 指定的时间读取。
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  tailLines;
/// 返回相对于当前时间之前sinceSeconds之内的日志。
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  sinceSeconds;
/// 限制返回的日志文件内容字节数，取值范围 [1-4]KB，最大 4KB.
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  limitBytes;
/// Container ID
@property (strong,nonatomic,nonnull)  NSString*  containerId;
-(id) initWithRegion:(NSString *)regionId
tailLines:(NSNumber*)tailLines
sinceSeconds:(NSNumber*)sinceSeconds
limitBytes:(NSNumber*)limitBytes
containerId:(NSString*)containerId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
tailLines:(NSNumber*)tailLines
sinceSeconds:(NSNumber*)sinceSeconds
limitBytes:(NSNumber*)limitBytes
containerId:(NSString*)containerId;

@end

@interface NativecontainerResizeTTYRequest:JDCloudRequest

/// tty row
@property (strong,nonatomic,nonnull)  NSNumber*  height;
/// tty column
@property (strong,nonatomic,nonnull)  NSNumber*  width;
/// exec ID
@property (strong,nonatomic,nonnull)  NSString*  execId;
/// Container ID
@property (strong,nonatomic,nonnull)  NSString*  containerId;
-(id) initWithRegion:(NSString *)regionId
height:(NSNumber*)height
width:(NSNumber*)width
execId:(NSString*)execId
containerId:(NSString*)containerId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
height:(NSNumber*)height
width:(NSNumber*)width
execId:(NSString*)execId
containerId:(NSString*)containerId;

@end

@interface NativecontainerExecCreateResult : NSObject
/// ExecId
 @property (strong,nonatomic,nonnull)  NSString*  execId;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithExecId:(NSString*) execId;
@end

@interface NativecontainerDeleteSecretRequest:JDCloudRequest

/// Secret Name
@property (strong,nonatomic,nonnull)  NSString*  name;
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name;

@end

@interface NativecontainerCreateSecretResult : NSObject
/// SecretName
 @property (strong,nonatomic,nonnull)  NSString*  secretName;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSecretName:(NSString*) secretName;
@end

@interface NativecontainerDescribeSecretRequest:JDCloudRequest

/// Secret Name
@property (strong,nonatomic,nonnull)  NSString*  name;
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name;

@end

@interface NativecontainerDescribeQuotaResult : NSObject
/// Quota
 @property (strong,nonatomic,nonnull)  NativecontainerQuota*  quota;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithQuota:(NativecontainerQuota*) quota;
@end

@interface NativecontainerDescribeQuotaResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerDescribeQuotaResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerDescribeQuotaResult*) result;
@end

@interface NativecontainerDescribeInstanceTypesResult : NSObject
/// InstanceTypes
 @property (strong,nonatomic,nonnull)  NSArray<InstanceType*>*  instanceTypes;
/// SpecificInstanceTypes
 @property (strong,nonatomic,nonnull)  NSArray<InstanceType*>*  specificInstanceTypes;
/// 总数量
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstanceTypes:(NSArray<InstanceType*>*) instanceTypes

    specificInstanceTypes:(NSArray<InstanceType*>*)specificInstanceTypes

    totalCount:(NSNumber*)totalCount;
@end

@interface NativecontainerDescribeInstanceTypesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerDescribeInstanceTypesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerDescribeInstanceTypesResult*) result;
@end

@interface NativecontainerDescribeInstanceTypesRequest:JDCloudRequest

/// instanceTypes - 实例规格，精确匹配，支持多个
   /// az - 可用区，精确匹配，支持多个
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
-(id) initWithRegion:(NSString *)regionId
filters:(NSArray<Filter*>*)filters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
filters:(NSArray<Filter*>*)filters;

@end

@interface NativecontainerAssociateElasticIpResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface NativecontainerAssociateElasticIpResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerAssociateElasticIpResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerAssociateElasticIpResult*) result;
@end

@interface NativecontainerResizeContainerResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface NativecontainerDisassociateElasticIpResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface NativecontainerExecGetExitCodeResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerExecGetExitCodeResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerExecGetExitCodeResult*) result;
@end

@interface NativecontainerDeleteContainerResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface NativecontainerStartContainerResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface NativecontainerStartContainerResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerStartContainerResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerStartContainerResult*) result;
@end

@interface NativecontainerStopContainerResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface NativecontainerModifyContainerAttributeResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface NativecontainerRebuildContainerResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface NativecontainerRebuildContainerResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerRebuildContainerResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerRebuildContainerResult*) result;
@end

@interface NativecontainerModifyContainerAttributeResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerModifyContainerAttributeResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerModifyContainerAttributeResult*) result;
@end

@interface NativecontainerDescribeContainersResult : NSObject
/// Containers
 @property (strong,nonatomic,nonnull)  NSArray<Container*>*  containers;
/// TotalCount
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithContainers:(NSArray<Container*>*) containers

    totalCount:(NSNumber*)totalCount;
@end

@interface NativecontainerDescribeContainersResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerDescribeContainersResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerDescribeContainersResult*) result;
@end

@interface NativecontainerDescribeContainerResult : NSObject
/// Container
 @property (strong,nonatomic,nonnull)  Container*  container;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithContainer:(Container*) container;
@end

@interface NativecontainerDescribeContainerResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerDescribeContainerResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerDescribeContainerResult*) result;
@end

@interface NativecontainerStopContainerResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerStopContainerResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerStopContainerResult*) result;
@end

@interface NativecontainerResizeTTYResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface NativecontainerResizeTTYResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerResizeTTYResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerResizeTTYResult*) result;
@end

@interface NativecontainerCreateContainersResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerCreateContainersResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerCreateContainersResult*) result;
@end

@interface NativecontainerRebuildContainerRequest:JDCloudRequest

/// 镜像名称 &lt;/br&gt; 1. Docker Hub官方镜像通过类似nginx, mysql/mysql-server的名字指定 &lt;/br&gt; &lt;/br&gt; repository长度最大256个字符，tag最大128个字符，registry最大255个字符 &lt;/br&gt; 下载镜像超时时间：10分钟
@property (strong,nonatomic,nonnull)  NSString*  image;
/// 镜像仓库认证信息；使用Docker Hub和京东云CR的镜像不需要secret
@property (strong,nonatomic,nonnull)  NSString*  secret;
/// 容器启动执行的命令, 如果不指定默认是镜像的ENTRYPOINT. 数组字符总长度范围：[0-256]
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  command;
/// 容器启动执行命令的参数, 如果不指定默认是镜像的CMD. 数组字符总长度范围：[0-2048]
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  args;
/// 容器是否分配tty。默认不分配
@property (strong,nonatomic,nonnull)  NSNumber*  tty;
/// 容器的工作目录。如果不指定，默认是根目录（/），必须是绝对路径。字符长度范围：[0-1024]
@property (strong,nonatomic,nonnull)  NSString*  workingDir;
/// 容器执行的环境变量；如果和镜像中的环境变量Key相同，会覆盖镜像中的值；&lt;/br&gt; 最大100对
@property (strong,nonatomic,nonnull)  NSArray<EnvVar*>*  envs;
/// Container ID
@property (strong,nonatomic,nonnull)  NSString*  containerId;
-(id) initWithRegion:(NSString *)regionId
image:(NSString*)image
secret:(NSString*)secret
command:(NSArray<NSString*>*)command
args:(NSArray<NSString*>*)args
tty:(NSNumber*)tty
workingDir:(NSString*)workingDir
envs:(NSArray<EnvVar*>*)envs
containerId:(NSString*)containerId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
image:(NSString*)image
secret:(NSString*)secret
command:(NSArray<NSString*>*)command
args:(NSArray<NSString*>*)args
tty:(NSNumber*)tty
workingDir:(NSString*)workingDir
envs:(NSArray<EnvVar*>*)envs
containerId:(NSString*)containerId;

@end

@interface NativecontainerDescribeContainersRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[10, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// containerId - 实例ID，精确匹配，支持多个
   /// privateIpAddress - 主网卡IP地址，模糊匹配，支持单个
   /// az - 可用区，精确匹配，支持多个
   /// vpcId - 私有网络ID，精确匹配，支持多个
   /// status - 容器状态，精确匹配，支持多个
   /// name - 实例名称，模糊匹配，支持单个
   /// subnetId - 镜像ID，模糊匹配，支持单个
   /// securityGroups - 安全组 id，精确匹配，支持多个
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
/// Tag筛选条件
@property (strong,nonatomic,nonnull)  NSArray<NativecontainerTagFilter*>*  tags;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters
tags:(NSArray<NativecontainerTagFilter*>*)tags;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters
tags:(NSArray<NativecontainerTagFilter*>*)tags;

@end

@interface NativecontainerGetLogsResult : NSObject
/// Logs
 @property (strong,nonatomic,nonnull)  Logs*  logs;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithLogs:(Logs*) logs;
@end

@interface NativecontainerExecCreateResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerExecCreateResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerExecCreateResult*) result;
@end

@interface NativecontainerCreateContainersRequest:JDCloudRequest

/// 创建容器规格
@property (strong,nonatomic,nonnull)  ContainerSpec*  containerSpec;
/// 购买实例数量；取值范围：[1,100]
@property (strong,nonatomic,nonnull)  NSNumber*  maxCount;
/// 保证请求幂等性
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
-(id) initWithRegion:(NSString *)regionId
containerSpec:(ContainerSpec*)containerSpec
maxCount:(NSNumber*)maxCount
clientToken:(NSString*)clientToken;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
containerSpec:(ContainerSpec*)containerSpec
maxCount:(NSNumber*)maxCount
clientToken:(NSString*)clientToken;

@end

@interface NativecontainerDeleteContainerResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerDeleteContainerResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerDeleteContainerResult*) result;
@end

@interface NativecontainerGetLogsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerGetLogsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerGetLogsResult*) result;
@end

@interface NativecontainerDisassociateElasticIpResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerDisassociateElasticIpResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerDisassociateElasticIpResult*) result;
@end

@interface NativecontainerResizeContainerResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerResizeContainerResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerResizeContainerResult*) result;
@end

@interface NativecontainerDeleteSecretResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface NativecontainerDeleteSecretResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerDeleteSecretResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerDeleteSecretResult*) result;
@end

@interface NativecontainerDescribeSecretsResult : NSObject
/// Secrets
 @property (strong,nonatomic,nonnull)  NSArray<Secret*>*  secrets;
/// TotalCount
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSecrets:(NSArray<Secret*>*) secrets

    totalCount:(NSNumber*)totalCount;
@end

@interface NativecontainerDescribeSecretsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerDescribeSecretsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerDescribeSecretsResult*) result;
@end

@interface NativecontainerDescribeSecretResult : NSObject
/// Secret
 @property (strong,nonatomic,nonnull)  Secret*  secret;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSecret:(Secret*) secret;
@end

@interface NativecontainerDescribeSecretResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerDescribeSecretResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerDescribeSecretResult*) result;
@end

@interface NativecontainerCreateSecretResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property NativecontainerCreateSecretResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(NativecontainerCreateSecretResult*) result;
@end

@interface NativecontainerCreateSecretRequest:JDCloudRequest

/// 镜像仓库认证信息名称，不能重复
   /// 
@property (strong,nonatomic,nonnull)  NSString*  name;
/// 镜像仓库认证信息类型，目前仅支持：docker-registry 类型，用来和docker registry认证的类型。
   /// 
@property (strong,nonatomic,nonnull)  NSString*  secretType;
/// 镜像仓库认证信息数据。&lt;br&gt;
   /// 必须包含server、username、password 字段，email 字段是可选的。&lt;br&gt;
   /// 
@property (strong,nonatomic,nonnull)  DockerRegistryData*  data;
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name
secretType:(NSString*)secretType
data:(DockerRegistryData*)data;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name
secretType:(NSString*)secretType
data:(DockerRegistryData*)data;

@end

@interface NativecontainerDescribeSecretsRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[10, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// name - secret名称，支持模糊搜索
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

@end

#endif /* NativecontainerApiModel_h */
